home *** CD-ROM | disk | FTP | other *** search
/ World of Video / World of Video.iso / gfxprograms / imageprocess / fpic / fpic.doc < prev    next >
Text File  |  1995-02-13  |  7KB  |  219 lines

  1. Filtpic (fpic) documentation
  2. ----------------------------
  3.  
  4. Fpic is an image processing program, designed specifically to be used in
  5. conjunction with digitized (Digi-View) lo-res black & white IFF picture
  6. files. Since the program was written to utilize Digi-View B&W pictures, some
  7. special processing relating to these images was required.
  8.  
  9. When a b&w lo-res image is saved by digi-view, it stores the image as a 32
  10. color IFF format file. Since the Amiga is capable of displaying 16 shades
  11. of gray, the digi-view image only utilizes colors 16 thru 31 of the entire 32
  12. color pallete. Fpic depends on this color mapping to work effectively.
  13. Results using images without this color mapping are unpredictable (at best)
  14. but sometimes interesting. Included within this arc file are 2 digitized
  15. images you can experiment with. An excellent tutorial on general image
  16. processing can be found in the March 1987 issue of Byte magazine..
  17.  
  18. -----------------
  19. Program Operation
  20. -----------------
  21.  
  22. (Dos 1.2 required)
  23. Simply type 'fpic' from the cli command line. Fpic should work with expanded
  24. memory since all modules have been 'Atomized' (if i remember correctly).
  25. Operation from workbench is as yet, untested.
  26.  
  27. Menu Selections
  28. ---------------
  29.  
  30. A brief description of the available menuitems follows..
  31.  
  32. Project
  33. -------
  34.  Hide Menustrip
  35.  ==============
  36.  Disables the display of the menustrip so you can view a full screen image.
  37.  Does not affect pulldown menuitems.
  38.  
  39.  Show Menustrip
  40.  ==============
  41.  Enables display of menustrip.
  42.  
  43.  Load Picture
  44.  ============
  45.  Allows you to load an IFF picture file via requester.
  46.  
  47.  Save Picture
  48.  ============
  49.  Allows you to save the displayed image in IFF format via requester.
  50.  
  51.  Restore Image
  52.  =============
  53.  Quick restore of the unmodified image (usually). Actually copies the image
  54.  from the hold buffer to the active display.
  55.  
  56.  Image to Hold
  57.  =============
  58.  Copies the displayed image to the holding buffer. Useful in combining the
  59.  cumulative effects of various image filters, as all image processing uses
  60.  the hold buffer as its image source.
  61.  
  62.  Load Hold
  63.  =========
  64.  Allows you to load an IFF file directly into the hold buffer via requester
  65.  without altering the displayed image. Useful when merging the displayed
  66.  image with another image. (See 'Merge2' under the 'Filters' menu).
  67.  
  68.  Quit!
  69.  =====
  70.  Goodbye..
  71.  
  72. ---------------------------------------------------------------------------
  73.  
  74. Filters
  75. -------
  76.  
  77.  Average
  78.  =======
  79.  Produces new image based on the average pixel intensity of the original
  80.  image using a 3x3 Kernel.
  81.  
  82.  Binary
  83.  ======
  84.  Produces a binary (high contrast black & white) image based on a threshold
  85.  supplied by the user via requester. Valid threshold values are in the
  86.  range 0 thru 15, where 0 represents black and 15 represents white. Any
  87.  pixel with a color value below the threshold is changed to black and any
  88.  pixel with a value >= threshold is changed to white.
  89.  
  90.  ClipBlit
  91.  ========
  92.  Performs a ClipBlit using the Hold buffer and the displayed image as the
  93.  sources. Uses a miniterm supplied by user via requester. Maybe useful in
  94.  understanding the operation of the Blitter and/or MiniTerms. See hardware
  95.  reference manual (Blitter) and Rom Kernel (ClipBlit function). Try it..
  96.  
  97.  Cross
  98.  =====
  99.  Produces new image based on Cross operator. The Cross operator is an edge
  100.  detection filter.
  101.  
  102.  Sobel
  103.  =====
  104.  Produces new image based on an approximation of the Sobel operator. This
  105.  is another edge detector.
  106.  
  107.  Roberts
  108.  =======
  109.  New image via Roberts operator. Yet another edge detector..
  110.  
  111.  Pixelize
  112.  ========
  113.  New image produced using an averaging technique, resulting in enlarged
  114.  pixels.
  115.  
  116.  Sharpen
  117.  =======
  118.  Hi-pass filter. Enhances high frequency content of image.
  119.  
  120.  UserMatrix
  121.  ==========
  122.  One of the more interesting options. Allows the user to specify his own
  123.  3x3 kernel which is then applied to the image. Somewhat slow due to the
  124.  fact that nine multiplications are required per every pixel in the image.
  125.  The requester for this option defaults to a low-pass filter.
  126.  
  127.  Merge2
  128.  ======
  129.  Merge the displayed image with the image in the hold buffer.
  130.  Uses:
  131.       Combine a filtered image with the original to reduce the effects of
  132.       the filter.
  133.  
  134.       Use the 'Load Hold' option from the project menu to load a different
  135.       image into the holding buffer. This will allow you to combine two
  136.       seperate images into one, resulting in a double-exposure effect.
  137.  
  138.  Maximum
  139.  =======
  140.  Utilizing a 3x3 kernel, produces a new image based on the maximum pixel
  141.  value found within the kernel. Sometimes used for texture analysis.
  142.  
  143.  Minimum
  144.  =======
  145.  Similar to Maximum except minimum pixel value is used.
  146.  
  147.  Median
  148.  ======
  149.  Like Maximum & Minimum except median pixel value is used. Sometimes useful
  150.  in reducing random noise within the image.
  151.  
  152. ---------------------------------------------------------------------------
  153.  
  154. Misc.
  155. -----
  156.  
  157.  Compare
  158.  =======
  159.  Produces a split screen (kind of) of the displayed image and the image in
  160.  the hold buffer. Useful for comparision of original and enhanced images.
  161.  
  162.  Histogram
  163.  =========
  164.  Produces a 16 column histogram (graph) showing the color utilization of
  165.  the original image, where the leftmost column represents black and the
  166.  rightmost column represents white.
  167.  
  168.  Remap-Low
  169.  =========
  170.  Remaps the displayed image to utilize colors 0 thru 15 of the current
  171.  colormap. Uses: I wanted to do it..
  172.  
  173.  Remap-Hi
  174.  =========
  175.  Remaps the displayed image to utilize colors 16 thru 31 of the current
  176.  colormap. Uses: I wanted to undo what i did.....
  177.  
  178. -------------------------------------------------------------------------
  179.                           End of menu options
  180. -------------------------------------------------------------------------
  181.  
  182. General Info
  183. ------------
  184. Fpic was developed on a 512k amiga using Lattice C (3.03) with 1.2 include
  185. files/libraries/linker from the gamma 1.2 release of the developers' disks.
  186. A special library of assembly language functions was developed to help
  187. increase the speed of the computationally intensive image processing
  188. functions as well some special functions for pixel manipulation of the
  189. bitplane based images.
  190.  
  191. Most of the image processing filters are based on a 3x3 kernel, which
  192. modifies every pixel of the original image based on the neighboring pixels
  193. within the 3x3 kernel in association with the particular algorithm in use.
  194.  
  195. Fpic is quite a memory hog. It actually requires 208k for image buffering
  196. alone. I would think you need at least 300k of free memory to be on the
  197. safe side.. It does run on my 512k machine with no problem..
  198.  
  199. ** Special Thanks **
  200. --------------------
  201. To Jim Kent for the pd IFF file reader.
  202. To Matt Dillon for the basis of the IFF file writer.
  203. To C.Heath for the file requester (slightly modified from fred fish disk
  204. #41).
  205.  
  206. Program status
  207. --------------
  208. Released to the public domain in object format, no strings. I haven't
  209. decided on the status of the source yet.. I don't get a chance to use
  210. compuserve much, so i doubt if i would see any messages pertaining to this
  211. program on the amigaforum. Though I will make an attempt to answer any
  212. e-mail. Hope you enjoy fpic as much as i did writing it...
  213.  
  214. Bob Bush 73105,1332  
  215. 10 April 1987
  216.  
  217. ************ end  ************
  218.  
  219.